/**Invoice Interface
 * 
 * @author locphan
 *
 */
public interface InvoiceADT
{
   /**Remove line m to line n
    * returns true if successfully remove lines
    * false otherwise
    * 
    * @param m from this line
    * @param n to this line
    * @return true/false
    */
   public boolean remove(int m,int n);
   
   /**Add a line to invoice
    * 
    * @param s a line
    * @return true if successfully add, false otherwise
    */
   public boolean add(LineItem s);
   /**Move cursor to line
    * 
    * @param m line
    */
   public void changeCursorTo(int m);
   /**Replace old line with new line
    * 
    * @param oldValue old line
    * @param newValue new line
    * @return true if successfully add, false otherwise
    */
   public boolean replace(LineItem oldValue, LineItem newValue);
   /**Undo replace method
    * 
    */
   public void undo();
}
